<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
      <link rel="stylesheet" type="text/css" href="style.css" />
   </head>
   <body onload="if (top.frames['componentsframe'] == undefined) { s = window.location.toString(); window.location = 'index.html?p=' + s.substring(s.lastIndexOf('/')+1); }">
<h2 class="comptitle">Compound Module <i>Nic802154A</i></h2>
<b>Package:</b> org.mixim.modules.nic<br/><b>File: <a href="src-modules-nic-Nic802154A.ned.html">src/modules/nic/Nic802154A.ned</a></b><br/>
<p>This NIC interface simulates an IEEE 802.15.4A UWB PHY
transceiver. The MAC does not attempt to be standard 
compliant. </p>
<p><b>Author:</b> J&eacute;r&ocirc;me Rousselot</p>
<p>See the following publications for more information:
[1] An Ultra-Wideband Impulse Radio PHY Layer Model for Network Simulation,
J. Rousselot, J.-D. Decotignie. Simulation: Transactions of the Society
for Computer Simulation, vol. 87 no. 1-2 pp.82-112, January 2011.
<a href="http://dx.doi.org/10.1177/0037549710377767">http://dx.doi.org/10.1177/0037549710377767</a>
[2] A High-Precision Ultra Wideband Impulse Radio Physical Layer Model
for Network Simulation, J. Rousselot, J.-D. Decotignie,
Second International Omnet++ Workshop,Simu'TOOLS, Rome, 6 Mar 09.
<a href="http://portal.acm.org/citation.cfm?id=1537714">http://portal.acm.org/citation.cfm?id=1537714</a>
[3] Ultra Low Power Communication Protocols for UWB Impulse Radio Wireless Sensor Networks,
J. Rousselot. EPFL thesis 4720, 2010.
<a href="http://infoscience.epfl.ch/record/147987">http://infoscience.epfl.ch/record/147987</a> </p>
<img src="org.mixim.modules.nic.Nic802154A-type.png" ismap="yes" usemap="#type-diagram"/><map name="type-diagram">
<area shape="rect" href="org.mixim.base.modules.IWirelessMac.html" title="IWirelessMac" alt="IWirelessMac" coords="34,71,78,130">
<area shape="rect" href="org.mixim.base.phyLayer.IWirelessPhy.html" title="IWirelessPhy" alt="IWirelessPhy" coords="42,153,70,196">
</map>
<h3 class="subtitle">Usage diagram:</h3>
<p>The following diagram shows usage relationships between types.
Unresolved types are missing from the diagram. Click <a href="full-ned-usage-diagram.html">here</a> to see the full picture.</p>
<img src="org.mixim.modules.nic.Nic802154A-usage.png" ismap="yes" usemap="#usage-diagram"/><map name="usage-diagram"><area shape="rect" href="org.mixim.modules.nic.Nic802154A.html" title="Compound Module Nic802154A" alt="Nic802154A" coords="7,16,89,40">
</map>
<h3 class="subtitle">Inheritance diagram:</h3>
<p>The following diagram shows inheritance relationships for this type.
Unresolved types are missing from the diagram. Click <a href="full-ned-inheritance-diagram.html">here</a> to see the full picture.</p>
<img src="org.mixim.modules.nic.Nic802154A-inheritance.png" ismap="yes" usemap="#inheritance-diagram"/><map name="inheritance-diagram"><area shape="rect" href="org.mixim.modules.nic.Nic802154A.html" title="Compound Module Nic802154A" alt="Nic802154A" coords="27,88,109,112">
<area shape="rect" href="org.mixim.modules.nic.WirelessNicBattery.html" title="Compound Module WirelessNicBattery" alt="WirelessNicBattery" coords="7,16,129,40">
</map>
<h3 class="subtitle">Extends:</h3>
<table class="typestable">
   <tr>
      <th class="name">Name</th>
      <th class="type">Type</th>
      <th class="description">Description</th>
   </tr>
<tr>
   <td>
<a href="org.mixim.modules.nic.WirelessNicBattery.html">WirelessNicBattery</a>
   </td>
   <td>
<i>compound&nbsp;module</i>
   </td>
   <td>

<p>Basic wireless nic definition</p>

   </td>
</tr>
</table>
<h3 class="subtitle">Parameters:</h3>
<table class="paramstable">
   <tr>
      <th class="name">Name</th>
      <th class="type">Type</th>
      <th class="defaultvalue">Default value</th>
      <th class="description">Description</th>
   </tr>
<tr class="inherited">
   <td>connectionManagerName</td>
   <td>
      <i>string</i>
   </td>
   <td>""</td>
   <td>
<p>name of the <a href="org.mixim.base.connectionManager.ConnectionManager.html">ConnectionManager</a> module</p>
   </td>
</tr>
<tr class="inherited">
   <td>phyType</td>
   <td>
      <i>string</i>
   </td>
   <td>"PhyLayerUWBIR"</td>
   <td>   </td>
</tr>
<tr class="inherited">
   <td>macType</td>
   <td>
      <i>string</i>
   </td>
   <td>"AlohaMacLayer"</td>
   <td>
   </td>
</tr>
<tr class="inherited">
   <td>sleepCurrent</td>
   <td>
      <i>double</i>
   </td>
   <td>.00303 mA</td>
   <td>   </td>
</tr>
<tr class="inherited">
   <td>rxCurrent</td>
   <td>
      <i>double</i>
   </td>
   <td>9.1 mA</td>
   <td>   </td>
</tr>
<tr class="inherited">
   <td>decodingCurrentDelta</td>
   <td>
      <i>double</i>
   </td>
   <td>0.0 mA</td>
   <td>   </td>
</tr>
<tr class="inherited">
   <td>txCurrent</td>
   <td>
      <i>double</i>
   </td>
   <td>0.303 mA</td>
   <td>   </td>
</tr>
<tr class="inherited">
   <td>setupRxCurrent</td>
   <td>
      <i>double</i>
   </td>
   <td>9.1 mA</td>
   <td>   </td>
</tr>
<tr class="inherited">
   <td>setupTxCurrent</td>
   <td>
      <i>double</i>
   </td>
   <td>0.303 mA</td>
   <td>   </td>
</tr>
<tr class="inherited">
   <td>rxTxCurrent</td>
   <td>
      <i>double</i>
   </td>
   <td>9.1 mA</td>
   <td>   </td>
</tr>
<tr class="inherited">
   <td>txRxCurrent</td>
   <td>
      <i>double</i>
   </td>
   <td>9.1 mA</td>
   <td>   </td>
</tr>
<tr class="local">
   <td>syncCurrent</td>
   <td>
      <i>double</i>
   </td>
   <td>30.3 mA</td>
   <td>
   </td>
</tr>
</table>
<h3 class="subtitle">Gates:</h3>
<table class="gatestable">
   <tr>
      <th class="name">Name</th>
      <th class="type">Direction</th>
      <th class="gatesize">Size</th>
      <th class="description">Description</th>
   </tr>
<tr class="inherited">
   <td>upperLayerIn</xsl:if></td>
   <td><i>input</i></td>
   <td></td>   <td>
<p>to upper layers</p>
</td>
</tr>
<tr class="inherited">
   <td>upperLayerOut</xsl:if></td>
   <td><i>output</i></td>
   <td></td>   <td>
<p>from upper layers</p>
</td>
</tr>
<tr class="inherited">
   <td>upperControlOut</xsl:if></td>
   <td><i>output</i></td>
   <td></td>   <td>
<p>control information</p>
</td>
</tr>
<tr class="inherited">
   <td>upperControlIn</xsl:if></td>
   <td><i>input</i></td>
   <td></td>   <td>
<p>control information</p>
</td>
</tr>
<tr class="inherited">
   <td>radioIn</xsl:if></td>
   <td><i>input</i></td>
   <td></td>   <td>
<p>radioIn gate for sendDirect</p>
</td>
</tr>
</table>
<h3 class="subtitle">Unassigned submodule parameters:</h3>
<table class="deepparamstable">
   <tr>
      <th class="name">Name</th>
      <th class="type">Type</th>
      <th class="defaultvalue">Default value</th>
      <th class="description">Description</th>
   </tr>
<tr>
   <td><a href="org.mixim.base.modules.IWirelessMac.html">mac</a>.headerLength</td>
   <td>
      <i>int</i>
   </td>
   <td></td>
   <td>
<p>length of the MAC packet header (in bits)</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.modules.IWirelessMac.html">mac</a>.address</td>
   <td>
      <i>string</i>
   </td>
   <td></td>
   <td>
<p>MAC address as hex string (12 hex digits), or
"auto". "auto" values will be replaced by
a generated MAC address in init stage 1.</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.recordStats</td>
   <td>
      <i>bool</i>
   </td>
   <td></td>
   <td>
<p>enable/disable tracking of statistics (eg. cOutvectors)</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.headerLength</td>
   <td>
      <i>int</i>
   </td>
   <td></td>
   <td>
<p>defines the length of the phy header (/preamble)</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.usePropagationDelay</td>
   <td>
      <i>bool</i>
   </td>
   <td></td>
   <td>
<p>Should transmission delay be simulated?</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.thermalNoise</td>
   <td>
      <i>double</i>
   </td>
   <td></td>
   <td>
<p>the strength of the thermal noise [dBm]</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.useThermalNoise</td>
   <td>
      <i>bool</i>
   </td>
   <td></td>
   <td>
<p>should thermal noise be considered?</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.analogueModels</td>
   <td>
      <i>xml</i>
   </td>
   <td></td>
   <td>
<p>Specification of the analogue models to use and their parameters</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.decider</td>
   <td>
      <i>xml</i>
   </td>
   <td></td>
   <td>
<p>Specification of the decider to use and its parameters</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.sensitivity</td>
   <td>
      <i>double</i>
   </td>
   <td></td>
   <td>
<p>The sensitivity of the physical layer [dBm]</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.maxTXPower</td>
   <td>
      <i>double</i>
   </td>
   <td></td>
   <td>
<p>The maximum transimission power of the physical layer [mW]</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.timeRXToTX</td>
   <td>
      <i>double</i>
   </td>
   <td></td>
   <td>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.timeRXToSleep</td>
   <td>
      <i>double</i>
   </td>
   <td></td>
   <td>
<p>Elapsed time to switch from receive to sleep state</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.timeTXToRX</td>
   <td>
      <i>double</i>
   </td>
   <td></td>
   <td>
<p>Elapsed time to switch from send to receive state</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.timeTXToSleep</td>
   <td>
      <i>double</i>
   </td>
   <td></td>
   <td>
<p>Elapsed time to switch from send to sleep state</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.timeSleepToRX</td>
   <td>
      <i>double</i>
   </td>
   <td></td>
   <td>
<p>Elapsed time to switch from sleep to receive state</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.timeSleepToTX</td>
   <td>
      <i>double</i>
   </td>
   <td></td>
   <td>
<p>Elapsed time to switch from sleep to send state</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.initialRadioState</td>
   <td>
      <i>int</i>
   </td>
   <td></td>
   <td>
<p>State the radio is initially in (0=RX, 1=TX, 2=Sleep)</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.radioMinAtt</td>
   <td>
      <i>double</i>
   </td>
   <td></td>
   <td>
<p>radios gain factor (attenuation) while receiving</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.radioMaxAtt</td>
   <td>
      <i>double</i>
   </td>
   <td></td>
   <td>
<p>radios gain factor (attenuation) while not receiving</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.nbRadioChannels</td>
   <td>
      <i>int</i>
   </td>
   <td></td>
   <td>
<p>Number of available radio channels. Defaults to single channel radio.</p>
   </td>
</tr>
<tr>
   <td><a href="org.mixim.base.phyLayer.IWirelessPhy.html">phy</a>.initialRadioChannel</td>
   <td>
      <i>int</i>
   </td>
   <td></td>
   <td>
<p>Initial radio channel.</p>
   </td>
</tr>
</table>
<h3 class="subtitle">Source code:</h3>
<pre class="src"><span style="color: #808080; font-style: italic; ">//
// This NIC interface simulates an IEEE 802.15.4A UWB PHY
// transceiver. The MAC does not attempt to be standard 
// compliant. 
//
// </span><span style="color: #000080; ">@author</span><span style="color: #808080; font-style: italic; "> J&eacute;r&ocirc;me Rousselot
//
// See the following publications for more information:
// [1] An Ultra-Wideband Impulse Radio PHY Layer Model for Network Simulation,
// J. Rousselot, J.-D. Decotignie. Simulation: Transactions of the Society
// for Computer Simulation, vol. 87 no. 1-2 pp.82-112, January 2011.
// </span><span style="color: #800000; ">&lt;a href=&quot;http://dx.doi.org/10.1177/0037549710377767&quot;&gt;</span><span style="color: #808080; font-style: italic; ">http://dx.doi.org/10.1177/0037549710377767</span><span style="color: #800000; ">&lt;/a&gt;</span><span style="color: #808080; font-style: italic; ">
// [2] A High-Precision Ultra Wideband Impulse Radio Physical Layer Model
// for Network Simulation, J. Rousselot, J.-D. Decotignie,
// Second International Omnet++ Workshop,Simu'TOOLS, Rome, 6 Mar 09.
// </span><span style="color: #800000; ">&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1537714&quot;&gt;</span><span style="color: #808080; font-style: italic; ">http://portal.acm.org/citation.cfm?id=1537714</span><span style="color: #800000; ">&lt;/a&gt;</span><span style="color: #808080; font-style: italic; ">
// [3] Ultra Low Power Communication Protocols for UWB Impulse Radio Wireless Sensor Networks,
// J. Rousselot. EPFL thesis 4720, 2010.
// </span><span style="color: #800000; ">&lt;a href=&quot;http://infoscience.epfl.ch/record/147987&quot;&gt;</span><span style="color: #808080; font-style: italic; ">http://infoscience.epfl.ch/record/147987</span><span style="color: #800000; ">&lt;/a&gt;</span><span style="color: #808080; font-style: italic; "> 
//
</span><span style="color: #800000; font-weight: bold; ">module</span><span style="color: #000000; "> </span><span style="color: #000000; ">Nic802154A</span><span style="color: #000000; "> </span><span style="color: #800000; font-weight: bold; ">extends</span><span style="color: #000000; "> </span><span style="color: #000000; ">WirelessNicBattery</span><span style="color: #000000; ">
{
    </span><span style="color: #800000; font-weight: bold; ">parameters</span><span style="color: #000000; ">:
        </span><span style="color: #000000; ">macType</span><span style="color: #000000; "> = </span><span style="color: #008000; ">&quot;AlohaMacLayer&quot;</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">phyType</span><span style="color: #000000; "> = </span><span style="color: #008000; ">&quot;PhyLayerUWBIR&quot;</span><span style="color: #000000; ">;

        </span><span style="color: #808080; font-style: italic; ">// power consumption from boards (at 3.3V)
</span><span style="color: #000000; ">        </span><span style="color: #000000; ">sleepCurrent</span><span style="color: #000000; "> = .</span><span style="color: #008000; ">00303</span><span style="color: #000000; "> </span><span style="color: #000000; ">mA</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">// 0.021 &micro;A
</span><span style="color: #000000; ">        </span><span style="color: #000000; ">rxCurrent</span><span style="color: #000000; "> = </span><span style="color: #008000; ">9</span><span style="color: #000000; ">.</span><span style="color: #008000; ">1</span><span style="color: #000000; "> </span><span style="color: #000000; ">mA</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">txCurrent</span><span style="color: #000000; "> = </span><span style="color: #008000; ">0</span><span style="color: #000000; ">.</span><span style="color: #008000; ">303</span><span style="color: #000000; "> </span><span style="color: #000000; ">mA</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">setupRxCurrent</span><span style="color: #000000; "> = </span><span style="color: #008000; ">9</span><span style="color: #000000; ">.</span><span style="color: #008000; ">1</span><span style="color: #000000; "> </span><span style="color: #000000; ">mA</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">setupTxCurrent</span><span style="color: #000000; "> = </span><span style="color: #008000; ">0</span><span style="color: #000000; ">.</span><span style="color: #008000; ">303</span><span style="color: #000000; "> </span><span style="color: #000000; ">mA</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">rxTxCurrent</span><span style="color: #000000; "> = </span><span style="color: #008000; ">9</span><span style="color: #000000; ">.</span><span style="color: #008000; ">1</span><span style="color: #000000; "> </span><span style="color: #000000; ">mA</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">txRxCurrent</span><span style="color: #000000; "> = </span><span style="color: #008000; ">9</span><span style="color: #000000; ">.</span><span style="color: #008000; ">1</span><span style="color: #000000; "> </span><span style="color: #000000; ">mA</span><span style="color: #000000; ">;
        </span><span style="color: #000000; ">decodingCurrentDelta</span><span style="color: #000000; "> = </span><span style="color: #008000; ">0</span><span style="color: #000000; ">.</span><span style="color: #008000; ">0</span><span style="color: #000000; "> </span><span style="color: #000000; ">mA</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">//not used
</span><span style="color: #000000; ">        </span><span style="color: #000080; font-weight: bold; ">double</span><span style="color: #000000; "> </span><span style="color: #000000; ">syncCurrent</span><span style="color: #000000; "> </span><span style="color: #000000; font-weight: bold; ">@unit</span><span style="color: #000000; ">(</span><span style="color: #000000; ">mA</span><span style="color: #000000; ">) = </span><span style="color: #800000; font-weight: bold; ">default</span><span style="color: #000000; ">(</span><span style="color: #008000; ">30</span><span style="color: #000000; ">.</span><span style="color: #008000; ">3</span><span style="color: #000000; "> </span><span style="color: #000000; ">mA</span><span style="color: #000000; ">);

        </span><span style="color: #000000; ">phy</span><span style="color: #000000; ">.</span><span style="color: #000000; ">initialRadioState</span><span style="color: #000000; "> = </span><span style="color: #008000; ">4</span><span style="color: #000000; ">; </span><span style="color: #808080; font-style: italic; ">// initializes radio state to SYNC
</span><span style="color: #000000; ">        </span><span style="color: #000000; ">mac</span><span style="color: #000000; ">.</span><span style="color: #000000; ">maxRetries</span><span style="color: #000000; "> = </span><span style="color: #008000; ">3</span><span style="color: #000000; ">;
}

</span></pre>
   <hr><p class="footer"><a href="http://creativecommons.org/licenses/by-sa/3.0" target="_top"><img src="by-sa.png"></a> This documentation is released under the <a href="http://creativecommons.org/licenses/by-sa/3.0" target="_top">Creative Commons license</a></p>
   </body>
</html>
